package com.xyht.sca_s.student_manage_system.modules.student.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 学生学籍信息表
 * </p>
 *
 * @author XYHT
 * @since 2022-12-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sms_student_info")
@ApiModel(value="SmsStudentInfo对象", description="学生学籍信息表")
public class SmsStudentInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    @ApiModelProperty(value = "学号")
    private String stuNo;

    @ApiModelProperty(value = "学生姓名")
    private String stuName;

    @ApiModelProperty(value = "姓名拼音")
    private String stuNameSpell;

    @ApiModelProperty(value = "英文姓名")
    private String stuNameEn;

    @ApiModelProperty(value = "曾用名")
    private String stuNameUsed;

    @ApiModelProperty(value = "手机号")
    private String stuTel;

    @ApiModelProperty(value = "身份证号码")
    private String stuIdCard;

    @ApiModelProperty(value = "性别")
    private String stuSex;

    @ApiModelProperty(value = "学生类别代码")
    private String stuTypeCode;

    @ApiModelProperty(value = "收费类别代码")
    private String stuChargeTypeCode;

    @ApiModelProperty(value = "民族代码")
    private String stuNationCode;

    @ApiModelProperty(value = "民族")
    private String stuNation;

    @ApiModelProperty(value = "政治面貌")
    private String stuPoliticCountenance;

    @ApiModelProperty(value = "籍贯")
    private String stuNativePlace;

    @ApiModelProperty(value = "出生日期")
    private Date stuBirth;

    @ApiModelProperty(value = "政治面貌代码")
    private String stuPoliticCountenanceCode;


    @ApiModelProperty(value = "考区")
    private String stuExaminationArea;

    @ApiModelProperty(value = "毕业中学")
    private String stuHighSchool;

    @ApiModelProperty(value = "高考总分")
    private String stuScore;

    @ApiModelProperty(value = "录取号")
    private String stuAdmissionCode;

    @ApiModelProperty(value = "高考考生号")
    private String stuExamineeCode;

    @ApiModelProperty(value = "入学考生语种")
    private String stuExamineeLanguage;

    @ApiModelProperty(value = "家庭住址")
    private String stuAddr;

    @ApiModelProperty(value = "邮编")
    private String postalCode;

    @ApiModelProperty(value = "家长信息")
    private String stuParentInfo;

    @ApiModelProperty(value = "入学日期")
    private Date stuEnterDate;

    @ApiModelProperty(value = "院系")
    private String stuCollege;

    @ApiModelProperty(value = "专业")
    private String stuMajor;

    @ApiModelProperty(value = "年级")
    private String stuGrade;

    @ApiModelProperty(value = "班级")
    private String stuClass;

    @ApiModelProperty(value = "专业方向")
    private String stuMajorDirection;

    @ApiModelProperty(value = "是否有学籍")
    private String stuIsStatus;

    @ApiModelProperty(value = "是否有国家学籍")
    private String stuIsCountryStatus;

    @ApiModelProperty(value = "校区")
    private String schoolArea;

    @ApiModelProperty(value = "异动否")
    private String isChange;

    @ApiModelProperty(value = "外语语种")
    private String foreignLanguages;

    @ApiModelProperty(value = "宿舍地址")
    private String dormitoryAddress;

    @ApiModelProperty(value = "培养方式")
    private String trainingMethods;

    @ApiModelProperty(value = "分流方向")
    private String diversionDirection;

    @ApiModelProperty(value = "是否离校")
    private String isLeave;

    @ApiModelProperty(value = "因材施教")
    private String teachStudent;

    @ApiModelProperty(value = "学科门类")
    private String disciplines;

    @ApiModelProperty(value = "逻辑删除")
    @TableLogic
    private Integer isDeleted;

    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "培养层次")
    private String trainingLevel;

    @ApiModelProperty(value = "入学年级")
    private String enterGrade;

    @ApiModelProperty(value = "学制类型")
    private String schoolingType;

    @ApiModelProperty(value = "学位")
    private String academicDegree;

    @ApiModelProperty(value = "毕业类型")
    private String graduationType;

    @ApiModelProperty(value = "毕业证书编号")
    private String graduationCertificateNo;

    @ApiModelProperty(value = "学位证书编号")
    private String academicCertificateNo;

    @ApiModelProperty(value = "预计毕业日期")
    private Date expectedGraduationDate;

    @ApiModelProperty(value = "毕业日期")
    private Date graduationDate;

    @ApiModelProperty(value = "是否应届毕业生")
    private String isNowYearGraduation;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "授课语种")
    private String instructionLanguage;

    @ApiModelProperty(value = "学籍状态")
    private String studentStatus;

    @ApiModelProperty(value = "备注1")
    private String remark1;

    @ApiModelProperty(value = "备注2")
    private String remark2;

    @ApiModelProperty(value = "备注3")
    private String remark3;

    @ApiModelProperty(value = "特殊学生类型")
    private String specialStudentType;

    @ApiModelProperty(value = "授予学位时间")
    private Date awardDegreeDate;

    @ApiModelProperty(value = "离校日期")
    private Date leaveDate;

    @ApiModelProperty(value = "电子受理号")
    private String electronicAcceptanceNo;

    @ApiModelProperty(value = "乘车区间")
    private String boardingSection;

    @ApiModelProperty(value = "血型")
    private String bloodType;

    @ApiModelProperty(value = "国籍代码")
    private String nationalityCodes;

    @ApiModelProperty(value = "确认人")
    private String confirmedPerson;

    @ApiModelProperty(value = "确认时间")
    private Date confirmDate;

    @ApiModelProperty(value = "确认IP")
    private String confirmIp;

    @ApiModelProperty(value = "是否确认")
    private String isConfirm;

    @ApiModelProperty(value = "学生证号")
    @TableField("student_ID_no")
    private String studentIdNo;

    @ApiModelProperty(value = "学历性质")
    private String studentType;

    @ApiModelProperty(value = "是否留学生")
    @TableField("International_students_or_not")
    private String internationalStudentsOrNot;

    @ApiModelProperty(value = "辅修专业号")
    private String minorMajorNo;

    @ApiModelProperty(value = "第二学位专业号")
    private String secondDegreeNo;

    @ApiModelProperty(value = "第二学位代码")
    private String secondDegreeCode;

    @ApiModelProperty(value = "第二学位证书编号")
    private String secondDegreeCertificateNo;

    @ApiModelProperty(value = "录取年份")
    private String admissionYear;

    @ApiModelProperty(value = "学习形式")
    private String studyWay;

    @ApiModelProperty(value = "考生特征")
    private String candidateCharacteristics;

    @ApiModelProperty(value = "录取类别代码")
    private String admissionTypeCode;

    @ApiModelProperty(value = "定向委培单位")
    private String targetedTrainingUnit;

    @ApiModelProperty(value = "学生学籍状态: 0.异常 1.正常 2.休学 3.退学 4.新生入伍 5.在校入伍")
    private String stuStatus;

    @ApiModelProperty(value = "考号")
    private String stuTestNum;
    @ApiModelProperty(value = "班主任")
    private String stuInstructor;
    @ApiModelProperty(value = "班主任电话")
    private String stuInstructorTel;

    @ApiModelProperty(value = "邮箱")
    private String stuEmail;
    @ApiModelProperty(value = "联系人")
    private String stuParent;
    @ApiModelProperty(value = "联系人电话")
    private String stuParentTel;

    @ApiModelProperty(value = "是否健康[不健康 健康]")
    private String healthStatus;

    @ApiModelProperty(value = "健康详情")
    private String healthDetail;

    @ApiModelProperty(value = "经济状态")
    private String economyStatus;

    @ApiModelProperty(value = "贫困证明")
    private String povertyProof;

    @ApiModelProperty(value = "注册号")
    private String registrationNo;


}
